
/**************************************************************
 * 
 * Copyright ? 2012，北京福富软件技术股份有限公司
 * All Rights Reserved.
 * ------------------------------------------------------------
 * 文件名称：GlobalIniLoader.java
 * 文件摘要：全局ini文件的加载
 * 初始版本：V1.0.0
 * 初始作者：Linz
 * 完成日期：2012-02
 * 
 **************************************************************/
package com.util;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;




/**************************************************************************
 * 
 * 类名：GlobalIniLoader<br>
 * <br>
 * 功能：系统启动时，全局ini文件的加载<br>
 * <br>
 * 作者：Linz 2012-02<br>
 * <br>
 * 属性列表：<br>
 * 		private static IniFileReader iniReader<br>
 * <br>
 * 方法列表：<br>
 * 		public void init() throws ServletException<br>
 * 		...<br>
 * <br>
 * 修改记录：<br>
 * 		日期				修改人			修改说明<br>
 * 
 **************************************************************************/
public class GlobalIniLoader extends HttpServlet 
{
	private static final long serialVersionUID = 4387487389248L;
	
	private static IniFileReader iniReader;		//ini文件读取对象
	
	private static String iniPath;				//ini文件路径
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static IniFileReader getInstance(String filePath)<br>
	 * <br>
	 * 功能：取得ini文件读取类的单例对象<br>
	 * <br>
	 * 作者：Linz 2012-02<br>
	 * <br>
	 * 参数表：<br>
	 * 		String filePath -> ini文件的路径<br>
	 * <br>
	 * 返回值：<br>
	 * 		IniFileReader<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static IniFileReader getInstance()
	{
		if (iniReader==null)
		{
			iniReader = new IniFileReader(iniPath);
		}
		return iniReader;
	}
	
	/**************************************************************************
	 * 
	 * 函数名：init() throws ServletException<br>
	 * <br>
	 * 功能：初始化时，加载config.ini内容<br>
	 * <br>
	 * 作者：Linz 2012-02<br>
	 * <br>
	 * 参数表：<br>
	 * 		无<br>
	 * <br>
	 * 返回值：<br>
	 * 		无<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public void init() throws ServletException
	{
		ClassLoader cl   = null;
		try
		{
			Debug.println("系统正在加载全局ini配置文件...");
			cl   	  = Thread.currentThread().getContextClassLoader();
			iniPath   = cl.getResource("").getPath()+"../config.ini";
			iniReader = GlobalIniLoader.getInstance();
			iniReader.init();
			this.getServletContext().removeAttribute("Error_GlobalIniLoader");
			Debug.println("系统加载全局ini配置文件成功...");
		}
		catch (Exception e)
		{
			Debug.println("系统加载全局ini配置文件失败...");
			this.getServletContext().setAttribute("Error_GlobalIniLoader", "系统加载全局ini配置文件失败...");
		}
	}
	
	
	public void destroy() 
	{
		super.destroy(); 
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException 
	{
		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException 
	{
		
	}
	
}
